home *** CD-ROM | disk | FTP | other *** search
/ MacAddict 108 / MacAddict108.iso / Software / Utilities / SuperDuper! 1.5.5.dmg / SuperDuper!.app / Contents / Resources / Transcripts / BuildTranscript.plist next >
Encoding:
Extensible Markup Language  |  2005-04-06  |  13.4 KB  |  256 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5.     <key>Type</key>
  6.         <string>Build</string>
  7.     <key>PhaseList</key>
  8.     <array>
  9.         <dict>
  10.             <key>Phase</key>
  11.             <string>Volume Preparation</string>
  12.             <key>ActionList</key>
  13.             <array>
  14.                 <dict>
  15.                     <key>Action</key>
  16.                     <string>shouldRepairSourcePermissions</string>
  17.                     <key>infoMsg</key>
  18.                     <string>Repair Permissions on SDSourceVolume.Name</string>
  19.                     <key>CommandList</key>
  20.                     <array>
  21.                         <dict>
  22.                             <key>command</key>
  23.                             <string>diskutil repairPermissions SDSourceVolumeMount.'Path >&1 2>&1</string>
  24.                             <key>infoMsg</key>
  25.                             <string>Repairing permissions on SDSourceVolume.Name</string>
  26.                             <key>parseMethod</key>
  27.                             <string>indeterminate:</string>
  28.                         </dict>
  29.                     </array>
  30.                 </dict>
  31.                 <dict>
  32.                     <key>Action</key>
  33.                     <string>shouldEraseTarget</string>
  34.                     <key>infoMsg</key>
  35.                     <string>Erase SDTargetVolume.Name</string>
  36.                     <key>CommandList</key>
  37.                     <array>
  38.                         <dict>
  39.                             <key>command</key>
  40.                             <string>JNLD=$(diskutil info SDTargetVolumeMount.'Path | grep  -q -F Journaled; echo $?); diskutil eraseVolume HFS+ SDTargetVolume.'Name SDBootableFlag SDTargetVolumeMount.'Path >&1 2>&1 | grep -q -F "Could not unmount"; if [ "$?" == "0" ]; then echo "Could not unmount " SDTargetVolume.'Name " for fast disk erase, defaulting to slower directory-by-directory erase..."; find -P -x SDTargetVolumeMount.'Path -maxdepth 1 -mindepth 1 -print -exec rm -rf {} \; ; fi; if [ $JNLD -eq 0 ]; then diskutil enableJournal "SDTargetVolume.Device"; fi</string>
  41.                             <key>infoMsg</key>
  42.                             <string>Erasing SDTargetVolume.Name</string>
  43.                             <key>parseMethod</key>
  44.                             <string>indeterminate:</string>
  45.                         </dict>
  46.                         <dict>
  47.                             <key>command</key>
  48.                             <string>SDdiskTool.'Path -s SDUUID.hexString SDTargetVolumeMount.'Path</string>
  49.                             <key>infoMsg</key>
  50.                             <string>Restoring SDTargetVolume.Name UUID (SDUUID.hexString)</string>
  51.                             <key>parseMethod</key>
  52.                             <string>indeterminate:</string>
  53.                         </dict>
  54.                     </array>
  55.                 </dict>
  56.                 <dict>
  57.                     <key>Action</key>
  58.                     <string></string>
  59.                     <key>infoMsg</key>
  60.                     <string>Enable Permissions</string>
  61.                     <key>CommandList</key>
  62.                     <array>
  63.                         <dict>
  64.                             <key>command</key>
  65.                             <string>HFS=`mount -d -t hfs | grep -q -F SDSourceVolumeMount.'Path; echo $?`; if [ $HFS -eq 1 ]; then echo "Can not enable permissions on non-HFS volumes."; else disktool -r; vsdbutil -a SDSourceVolumeMount.'Path; fi</string>
  66.                             <key>infoMsg</key>
  67.                             <string>Enabling permissions on SDSourceVolume.Name</string>
  68.                         </dict>
  69.                         <dict>
  70.                             <key>command</key>
  71.                             <string>HFS=`mount -d -t hfs | grep -q -F SDSourceVolumeMount.'Path; echo $?`; if [ $HFS -eq 1 ]; then echo "Can not verify permissions on non-HFS volumes."; else vsdbutil -c SDSourceVolumeMount.'Path | grep -i -F "enabled"; if [ "$?" == "1" ]; then echo "Could not disabled Ignore Permissions" >&2; exit 2; fi; fi</string>
  72.                             <key>infoMsg</key>
  73.                             <string>Verifying that permissions are enabled for SDSourceVolume.Name</string>
  74.                         </dict>
  75.                         <dict>
  76.                             <key>command</key>
  77.                             <string>disktool -r; vsdbutil -a SDTargetVolumeMount.'Path</string>
  78.                             <key>infoMsg</key>
  79.                             <string>Enabling permissions on SDTargetVolume.Name</string>
  80.                         </dict>
  81.                         <dict>
  82.                             <key>command</key>
  83.                             <string>vsdbutil -c SDTargetVolumeMount.'Path | grep -i -F "enabled"; if [ "$?" == "1" ]; then echo "Could not disable Ignore Permissions" >&2; exit 2; fi </string>
  84.                             <key>infoMsg</key>
  85.                             <string>Verifying that permissions are enabled for SDTargetVolume.Name</string>
  86.                         </dict>
  87.                     </array>
  88.                 </dict>    
  89.             </array>
  90.         </dict>
  91.         <dict>
  92.             <key>Phase</key>
  93.             <string>Clone from Source to Target</string>
  94.             <key>ActionList</key>
  95.             <array>
  96.                 <dict>
  97.                     <key>Action</key>
  98.                     <string></string>
  99.                     <key>infoMsg</key>
  100.                     <string>Copy Files from SDSourceVolume.Name to SDTargetVolume.Name</string>
  101.                     <key>CommandList</key>
  102.                     <array>
  103.                         <dict>
  104.                             <key>command</key>
  105.                             <string>SDcloner.'Path -v -v -v -v -p -c SDCopyMode -d _SDCopyScript.'Path -u "SDUserLicense.Name" -k "SDUserLicense.Key" SDSourceVolumeMount.'Path SDTargetVolumeMount.'Path</string>
  106.                             <key>infoMsg</key>
  107.                             <string>Cloning SDSourceVolume.Name to SDTargetVolume.Name</string>
  108.                             <key>parseMethod</key>
  109.                             <string>SVUclone:</string>
  110.                         </dict>
  111.                     </array>
  112.                 </dict>
  113.             </array>
  114.         </dict>
  115.         <dict>
  116.             <key>Phase</key>
  117.             <string>Conclude Target Setup</string>
  118.             <key>ActionList</key>
  119.             <array>
  120.                 <dict>
  121.                     <key>Action</key>
  122.                 <string></string>
  123.                 <key>infoMsg</key>
  124.                     <string>Bless System on SDTargetVolume.Name</string>
  125.                     <key>CommandList</key>
  126.                     <array>
  127.                         <dict>
  128.                             <key>command</key>
  129.                         <string>if [ -a SDTargetVolumeMount.'Path/System/Library/CoreServices ]; then UCHGSET=$(ls -lo SDTargetVolumeMount.'Path/System/Library/CoreServices/BootX | grep -vqF uchg; echo $?); chflags nouchg SDTargetVolumeMount.'Path/System/Library/CoreServices/BootX; bless -folder SDTargetVolumeMount.'Path/System/Library/CoreServices -bootinfo SDTargetVolumeMount.'Path/usr/standalone/ppc/bootx.bootinfo -save9; if [ $UCHGSET -eq 1 ]; then chflags uchg SDTargetVolumeMount.'Path/System/Library/CoreServices/BootX; fi; echo "Successfully blessed Mac OS X folder on" SDTargetVolume.'Name; else echo "Did not bless Mac OS X System Folder on" SDTargetVolume.'Name " because it does not exist."; fi</string>
  130.                             <key>infoMsg</key>
  131.                             <string>Blessing OS X System Folder</string>
  132.                         </dict>
  133.                         <dict>
  134.                             <key>command</key>
  135.                             <string>if [ -a SDTargetVolumeMount.'Path/System\ Folder ]; then bless -folder9 SDTargetVolumeMount.'Path/System\ Folder -saveX; echo "Successfully blessed Mac OS 9 System Folder on " SDTargetVolume.'Name; else echo "Did not bless Mac OS 9 System Folder on " SDTargetVolume.'Name " because it does not exist."; fi</string>
  136.                             <key>infoMsg</key>
  137.                             <string>Blessing OS 9 System Folder</string>
  138.                         </dict>
  139.                     </array>
  140.                 </dict>
  141.                 <dict>
  142.                     <key>Action</key>
  143.                 <string>shouldCreateASRimage</string>
  144.                 <key>infoMsg</key>
  145.                     <string>Creating ASR Image of SDTargetVolume.Name</string>
  146.                     <key>CommandList</key>
  147.                     <array>
  148.                         <dict>
  149.                             <key>command</key>
  150.                             <string>disktool -p `basename SDTargetVolume.Device` | grep -q -F "Disk NOT Unmounted" ; if [ "$?" == "0" ]; then echo "Could not unmount volume " SDTargetVolume.'Name; echo "Checking for open files on SDTargetVolume.Device..."; lsof | head -n 1; lsof | grep -q -F SDTargetVolume.Device; echo "Could not unmount " SDTargetVolume.'Name >&2; exit 2; else disktool -m `basename SDTargetVolume.Device`; disktool -r; fi</string>
  151.                             <key>infoMsg</key>
  152.                             <string>Checking to see if volume SDTargetVolume.Name can be unmounted safely</string>
  153.                         </dict>
  154.                           <dict>
  155.                              <key>command</key>
  156.                              <string>diskutil unmount SDTargetVolumeMount.'Path</string>
  157.                              <key>infoMsg</key>
  158.                              <string>Unmounting SDTargetVolume.Name</string>
  159.                          </dict>
  160.                          <dict>
  161.                              <key>command</key>
  162.                              <string>[ -a SDASRimage.'Path ] && rm SDASRimage.'Path; hdiutil convert "SDTargetVolume.Device" -format SDASRimage.Format -o SDASRimage.'Path</string>
  163.                              <key>infoMsg</key>
  164.                              <string>Creating ASR Image SDASRimage.Path of volume SDTargetVolume.Name</string>
  165.                              <key>parseMethod</key>
  166.                              <string>indeterminate:</string>
  167.                          </dict>
  168.                          <dict>
  169.                              <key>command</key>
  170.                              <string>chmod g+wr SDASRimage.'Path</string>
  171.                              <key>infoMsg</key>
  172.                              <string>Changing permissions for SDASRimage.Path to group read and write</string>
  173.                          </dict>
  174.                          <dict>
  175.                              <key>command</key>
  176.                              <string>asr -imagescan SDASRimage.'Path 2>&1</string>
  177.                              <key>infoMsg</key>
  178.                              <string>Pre-scanning SDASRimage.Path to support fast block copy restore</string>
  179.                              <key>parseMethod</key>
  180.                              <string>indeterminate:</string>
  181.                          </dict>
  182.                          <dict>
  183.                             <key>command</key>
  184.                             <string>chown SDUser.uid SDASRimage.'Path</string>
  185.                             <key>infoMsg</key>
  186.                             <string>Changing owner of SDASRimage.Path to SDUser.uid</string>
  187.                          </dict>
  188.                          <dict>
  189.                               <key>command</key>
  190.                               <string>diskutil mount "SDTargetVolume.Device"</string>
  191.                               <key>infoMsg</key>
  192.                               <string>Mounting SDTargetVolume.Device on SDTargetVolumeMount.Path</string>
  193.                               <key>parseMethod</key>
  194.                               <string>indeterminate:</string>
  195.                          </dict>
  196.                     </array>
  197.                 </dict>
  198.                 <dict>
  199.                     <key>Action</key>
  200.             <string>shouldInstallPackage</string>
  201.             <key>infoMsg</key>
  202.                     <string>Installing _SDInstallerPackage.Path on SDTargetVolume.Name</string>
  203.                     <key>CommandList</key>
  204.                     <array>
  205.                         <dict>
  206.                             <key>command</key>
  207.                             <string>installer -verboseR -dumplog -pkg _SDInstallerPackage.'Path -target SDTargetVolumeMount.'Path >&1 2>&1</string>
  208.                             <key>infoMsg</key>
  209.                             <string>Installing _SDInstallerPackage.Path on SDTargetVolume.Name</string>
  210.                             <key>parseMethod</key>
  211.                             <string>installPackage:</string>
  212.                         </dict>
  213.                     </array>
  214.                 </dict>
  215.                 <dict>
  216.                     <key>Action</key>
  217.                 <string>shouldInvokeSiteCustomizationScript</string>
  218.                 <key>infoMsg</key>
  219.                     <string>Execute Site Customization Script _SDSiteCustomizationScript.Path</string>
  220.                     <key>CommandList</key>
  221.                     <array>
  222.                         <dict>
  223.                              <key>command</key>
  224.                              <string>_SDSiteCustomizationScript.'Path SDSourceVolume.'Name SDSourceVolumeMount.'Path SDTargetVolume.'Name SDTargetVolumeMount.'Path _SDSiteCustomizationScript.'Path SDASRimage.'Path</string>
  225.                              <key>infoMsg</key>
  226.                              <string>Invoking site customization script: _SDSiteCustomizationScript.Path</string>
  227.                         </dict>
  228.                     </array>
  229.                 </dict>
  230.                 <dict>
  231.                     <key>Action</key>
  232.             <string>shouldRebootFromTarget</string>
  233.             <key>infoMsg</key>
  234.                     <string>Reboot from SDTargetVolume.Name</string>
  235.                     <key>CommandList</key>
  236.                     <array>
  237.                         <dict>
  238.                             <key>command</key>
  239.                         <string>if [ -a SDTargetVolumeMount.'Path/System/Library/CoreServices ]; then UCHGSET=$(ls -lo SDTargetVolumeMount.'Path/System/Library/CoreServices/BootX | grep -vqF uchg; echo $?); chflags nouchg SDTargetVolumeMount.'Path/System/Library/CoreServices/BootX; bless -folder SDTargetVolumeMount.'Path/System/Library/CoreServices -bootinfo SDTargetVolumeMount.'Path/usr/standalone/ppc/bootx.bootinfo -save9 -setOF; if [ $UCHGSET -eq 1 ]; then chflags uchg SDTargetVolumeMount.'Path/System/Library/CoreServices/BootX; fi; echo "Successfully set" SDTargetVolume.'Name "as startup disk"; else echo "Could not set" SDTargetVolume.'Name " as the startup disk because it does not contain a valid Mac OS X System Folder."; exit 1; fi</string>
  240.                             <key>infoMsg</key>
  241.                             <string>Setting startup disk to SDTargetVolume.Name</string>
  242.                         </dict>
  243.                         <dict>
  244.                             <key>command</key>
  245.                             <string>osascript -e 'Tell application "System Events" to restart' &</string>
  246.                             <key>infoMsg</key>
  247.                             <string>Restarting computer</string>
  248.                         </dict>
  249.                     </array>
  250.                 </dict>
  251.             </array>
  252.         </dict>
  253.     </array>
  254. </dict>
  255. </plist>
  256.